package com.sxkiler.demo.medium;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.util.*;
import com.sxkiler.demo.model.*;

/**
string-compression=压缩字符串
<p>给定一组字符，使用<a href="https://baike.baidu.com/item/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95">原地算法</a>将其压缩。</p>

<p>压缩后的长度必须始终小于或等于原数组长度。</p>

<p>数组的每个元素应该是长度为1&nbsp;的<strong>字符</strong>（不是 int 整数类型）。</p>

<p>在完成<a href="https://baike.baidu.com/item/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95">原地</a><strong>修改输入数组</strong>后，返回数组的新长度。</p>

<p>&nbsp;</p>

<p><strong>进阶：</strong><br>
你能否仅使用O(1) 空间解决问题？</p>

<p>&nbsp;</p>

<p><strong>示例 1：</strong></p>

<pre><strong>输入：</strong>
["a","a","b","b","c","c","c"]

<strong>输出：</strong>
返回 6 ，输入数组的前 6 个字符应该是：["a","2","b","2","c","3"]

<strong>说明：</strong>
"aa" 被 "a2" 替代。"bb" 被 "b2" 替代。"ccc" 被 "c3" 替代。
</pre>

<p><strong>示例 2：</strong></p>

<pre><strong>输入：</strong>
["a"]

<strong>输出：</strong>
返回 1 ，输入数组的前 1 个字符应该是：["a"]

<strong>解释：</strong>
没有任何字符串被替代。
</pre>

<p><strong>示例 3：</strong></p>

<pre><strong>输入：</strong>
["a","b","b","b","b","b","b","b","b","b","b","b","b"]

<strong>输出：</strong>
返回 4 ，输入数组的前4个字符应该是：["a","b","1","2"]。

<strong>解释：</strong>
由于字符 "a" 不重复，所以不会被压缩。"bbbbbbbbbbbb" 被 &ldquo;b12&rdquo; 替代。
注意每个数字在数组中都有它自己的位置。
</pre>

<p>&nbsp;</p>

<p><strong>提示：</strong></p>

<ul>
	<li>所有字符都有一个ASCII值在<code>[35, 126]</code>区间内。</li>
	<li><code>1 &lt;= len(chars) &lt;= 1000</code>。</li>
</ul>

 */
public class compress {
    

    class Solution {
        public Integer compress(String[] param0) {
            return null;
        }
    }

    @Test
    public void test(){
        Solution solution = new Solution();
        /**
        ["a","a","b","b","c","c","c"]
        */
        //int [] num1 = new int[]{1,3};
        //int [] num2 = new int[]{2};
        //Assertions.assertEquals(solution.{{questionName}}(num1,num2),2);
    }
}

